/*
 * RenderObject.h
 *
 *  Created on: 2008/12/25
 *      Author: Yongshik Cho
 */

#ifndef RENDEROBJECT_H_
#define RENDEROBJECT_H_

#ifndef RENDERABLE_H_
#	include "active/Renderable.h"
#endif

#ifndef EVENT_H_
#	include "event/Event.h"
#endif

#include "sqplus/sqplus.h"
using namespace SqPlus;

class Path;

class RenderObject : public Renderable
{
public:
	RenderObject(Texture* texture = 0, Vector2D size = Vector2D(0.f, 0.f));
	virtual ~RenderObject();

public:
	/*
	virtual void preRender();
	virtual void render();
	virtual void postRender();
	*/
	virtual void onMouseEvent(const Event& e);
	virtual void buildQuadtree();
	virtual RenderObject* getChildByName(const String& name);
	virtual Path* getPathByName(const String& name) { return 0; }
	virtual void pushRenderables(vector<Renderable*>& vp, vector<Renderable*>& nosort);

};

//must be declared here
DECLARE_INSTANCE_TYPE(RenderObject)

#endif /* RENDEROBJECT_H_ */
